﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Collections;
using Talento21.Negocio.Servicio;
using Talento21.Modelo;
namespace Talento21.Pages.Competencia
{
    public partial class Crear : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                HttpContext.Current.Session["Niveles"] = null;
            }

            if (Session["emp_rut"] == null)
            {
                SrvUsuario svrUsu = new SrvUsuario();
                InfUsuario usuario = new InfUsuario();
                usuario = svrUsu.ObtenerUsuario(HttpContext.Current.User.Identity.Name);
                Session["emp_rut"] = usuario.Emp_Rut;
            }

        }

        protected void btnAgregarNiveles_Click(object sender, EventArgs e)
        {

            CompetenciasViewModel viewModel = new CompetenciasViewModel();
            viewModel.AgregarNivel(new Modelo.InfNivelCompetenciaEmp() { NumNivel = int.Parse(txtNumNivel.Text), Nombre = txtNombreNivel.Text, Descripcion = txtDescripcionNivel.Text });

            gvNiveles.DataBind();
        }


        protected void gvNiveles_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            IDictionary paramsFromPage = e.Keys;
            if (paramsFromPage["NumNivel"] != null)
            {
                Modelo.InfNivelCompetenciaEmp nivel
                  = new Modelo.InfNivelCompetenciaEmp();
                nivel.NumNivel = Int32.Parse(paramsFromPage["NumNivel"].ToString());

                paramsFromPage.Clear();
                paramsFromPage.Add("NumNivel", nivel.NumNivel);
            }

        }

        protected void btnGuardarCompetencia_Click(object sender, EventArgs e)
        {

            try
            {
                InfCompetenciasEmp competencia = new InfCompetenciasEmp();
                competencia.Emp_Rut = int.Parse(Session["emp_rut"].ToString());
                competencia.Id_Tipo_Competencia = int.Parse(ddlTipoCompetencia.SelectedItem.Value);
                competencia.Id_Cargo = int.Parse(ddlCargos.SelectedItem.Value);
                competencia.Nombre = txtNombreCompetencia.Text;
                competencia.Definicion = txtDefinicionCompetencia.Text;

                for (int i = 0; i < gvNiveles.Rows.Count; i++)
                {
                    InfNivelCompetenciaEmp nivel = new InfNivelCompetenciaEmp();
                    nivel.NumNivel = int.Parse(gvNiveles.Rows[i].Cells[0].Text);
                    nivel.Nombre = HttpContext.Current.Server.HtmlDecode(gvNiveles.Rows[i].Cells[1].Text);
                    nivel.Descripcion = HttpContext.Current.Server.HtmlDecode(gvNiveles.Rows[i].Cells[2].Text);
                    nivel.Emp_Rut = int.Parse(Session["emp_rut"].ToString());
                    competencia.InfNivelCompetenciaEmp.Add(nivel);
                }


                SrvCompetenciaEmp srvCompetenciaEmp = new SrvCompetenciaEmp();
                srvCompetenciaEmp.Crear(competencia);

            }
            catch (Exception ex)
            {

                throw;
            }


        }




    }
}